// 日志工具模块 - 处理调试日志输出

let logOpen = false; // 是否开启调试日志输出
let mcpName = 'MCP - More Concise Page'; // 默认页面名称

// 格式化DOM信息的辅助函数
export function logDOMInfo(node, source, selector = '') {
  if (!logOpen) return;

  const classes = node.className && typeof node.className === 'string' ? node.className : '';
  const id = node.id ? node.id : '';
  const tag = node.tagName ? node.tagName.toLowerCase() : 'unknown';
  const text = node.textContent ? node.textContent.substring(0, 50).replace(/\s+/g, ' ').trim() : '';

  console.log(
    `%c[${mcpName}]%c 拦截元素: %c${tag}%c${id ? '#' + id : ''}%c${classes ? '.' + classes.replace(/\s+/g, '.') : ''}`,
    'color: #ff6464; font-weight: bold;',
    'color: #333;',
    'color: #0066cc; font-weight: bold;',
    'color: #cc6600;',
    'color: #339933;',
    `\n来源: ${source}${selector ? '\n选择器: ' + selector : ''}\n内容: ${text}${text.length >= 50 ? '...' : ''}`
  );
}

// 日志输出函数 - 用于记录元素拦截信息
export function logRemoval(selector, count) {
  if (count > 0) {
    console.log(`[${mcpName}] 通过选择器 "${selector}" 共移除 ${count} 个元素`);
  }
}

// 日志输出函数 - 用于记录初始化清理信息
export function logInitialization(logFlag, name) {
  logOpen = logFlag;
  mcpName = `MCP - ${name}`;
  console.log(`%c[${mcpName}]%c 执行初始化清理`, 'color: #ff6464; font-weight: bold;', 'color: #333;');
}

export function logError(...context) {
  console.error(`[${mcpName}] 选择器匹配错误:`, ...context);
}